﻿using System;
using System.Collections.Generic;

//全局委托定义
public delegate void ZeroDeletegate();
public delegate void OneDelegate(object param);
public delegate void TwoDelegate(object param1, object param2);
public delegate void ThreeDelegate(object param1, object param2, object param3);
//所有事件放这里统一定义
public static class GMConfig
{
    
    /// <summary>
    /// 事件类型定义
    /// </summary>
    public static class EventType
    {
        public const string NCExchangeCodeChange = "NCExchangeCodeChange";
        public const string NCMyTestChange = "NCMyTestChange";
    }
    
    /// <summary>
    /// 键值类型定义
    /// </summary>
    public static class KeyType
    {
        public const string AddKey = "Add_";
        public const string AddRandKey = "AddRand_";
        public const string PercentKey = "Percent_";
        public const string PercentRandKey = "PercentRand_";
        public const string Commond = "Commond_";
    }

    /// <summary>
    /// 所有属性类型
    /// </summary>
    public enum PropertyType
    {
        UnPoint,
        Block,//格挡
        FireResistance,//火抗
        IceResistance,//冰抗
        ToxicResistance,//毒抗
        FireElement,//火元素
        IceElement,//冰元素
        ToxicElement,//毒元素
        Thorns,//反伤
        PuppetBlood,//傀儡血量
        BaseBlood,//基础血量
        WeaponDamage,//武器伤害
    }
    /// <summary>
    /// 元素类型
    /// </summary>
    public enum ElementType
    {
        UnPoint,
        IceElement,//冰元素
        FireElement,//火元素
        ToxicElement,//毒元素
    }
    /// <summary>
    /// 面板类型
    /// </summary>
    public enum PanelType
    {
        SelecImgtPanel,
        SelectAudioPanel,
        EditBiologyPanel,
        BiologyListPanel,
        SelectBiologyList,
        CardList,
        SuitList,
        WeaponList,
        InputPanel,
        TipPanel,
        EditCardPanel,
        EditSuitPanel,
        EditWeaponPanel,
        SelectCardList,
        SelectSuitList,
        SelectWeaponList,
        RoomPanel,
        FixedRoomListPopup,
        SelectRoomListPopup,
        EditMapPanel,
        CommonListPanel,
        ItemList,
    }
    public enum DialogueType
    {
        Begin,
        Half,
        Succeed,
        Die,
    }
    public enum BiologyType {
        Normal,
        Elites,
        Boss,
    }
    public enum WeaponType {
        Weapon,
        Necklace,
        Shoes,
        Protective,
        Ring,
        Sundries,
    }
    public enum CardSkillType
    {
        Trick,
        Skill,
    }
    public enum CardRoleType
    {
        Common,
        White,
        Knife,
        Snow,
    }
    public enum CardType
    {
        Common,//通常技
        Keep,//连续技
        Final,//必杀技
        Special,//特殊技
    }
    public enum RoomType
    {
        Random,
        Fixed,
    }
    public enum RoomLevel{
        Boss,
        Elite,
        Monster,
    }
    public enum RoomArrange{
        None,
        Item,
        Block,
        Boss,
        Elite,
        Retinue,
        Born,
        Exit,
        Light,
        Wall,
    }
    public enum ProductType{
        None,
        Item,
        Event,
        Card,
        Boss,
        BossRetinue,
        Elite,
        EliteRetinue,
        Monster,
        InsertRoom,
        BossRoom,
        EliteRoom,
        MonsterRoom
    }
    public enum CountRange{
        Room,
        Item,
        Event,
        BossRetinue,
        Elite,
        EliteRetinue,
        Monster,
    }
}

